package part3.student;

import java.io.ObjectInputStream.GetField;
import java.util.Scanner;

public class ChooseDemo {
    public int getInputIntInfo(String info){
        int input_int=0;
        try{
            System.out.println(info);
            Scanner s=new Scanner(System.in);
            input_int=s.nextInt();
        }catch (Exception e) {
            System.out.println("输入错误！！请重新输入。");
            input_int=getInputIntInfo(info);
        }
        return input_int;

    }

    /*
     *得到String类型的数据
     */
    public String getInputStringInfo(String string){
        String input_String="";
        try{
            System.out.println(string);
            Scanner s=new Scanner(System.in);
            input_String=s.next();
        }catch (Exception e) {
            System.out.println("输入错误！！请重新输入");
            input_String=getInputStringInfo(string);
        }
        return input_String;
    }

    public void menu(){
        System.out.println("************************");
        System.out.println("欢迎进入学生信息管理系统");
        System.out.println("1.添加学生信息");
        System.out.println("2.修改学生信息（根据学号修改）");
        System.out.println("3.修改学生信息（根据姓名修改）");
        System.out.println("4.删除学生信息(根据学号删除)");
        System.out.println("5.删除学生信息(根据姓名删除)");
        System.out.println("6.查询所有学生信息");
        System.out.println("7.查询学生信息（根据学号）");
        System.out.println("8.查询学生信息（根据姓名）");
        System.out.println("9.退出系统");
        System.out.println("************************");
    }

    public void Choose(int coad){
        switch (coad) {
            //添加学生信息
            case 1:
                System.out.println("<---你已进入添加学生信息界面--->");

                Info add_info=getStudentInfo();
                if(!(part3.student.Handle.selectStuId(add_info.getStu_id()))){
                    if(part3.student.Handle.AddInfo(add_info)){
                        System.out.println("\n添加成功！！\n");
                    }else{
                        System.out.println("\n添加失败！！\n");
                    }
                }else{
                    System.out.println("该学号已存在！！！	请重新添加！！");
                }
                break;
            //修改学生信息（根据学号修改）
            case 2:
                System.out.println("<---你已进入修改学生信息（根据学号修改）界面--->");

                int update_id=getInputIntInfo("请输入学号");

                if(part3.student.Handle.selectStuId(update_id)){
                    System.out.println("<---请输入新的学生信息--->");
                    Info update_infoById=getStudentInfo();
                    if(!(part3.student.Handle.selectStuId(update_infoById.getStu_id()))||update_infoById.getStu_id()==update_id){
                        if(part3.student.Handle.updateInfoById(update_id,update_infoById)){
                            System.out.println("\n修改成功！！！\n");
                        }else{
                            System.out.println("\n修改失败！！！\n");
                        }
                    }else{
                        System.out.println("该学号的学生信息已存在！！！	请重新添加！！");
                    }
                }else{
                    System.out.println("\n没有该学号的学生信息！！请重新选择！\n");
                }
                break;
            //修改学生信息（根据姓名修改）
            case 3:
                System.out.println("<---你已进入修改学生信息（根据姓名修改）界面--->");
                String update_name=getInputStringInfo("请输入姓名");


                if(part3.student.Handle.selectStuName(update_name)){
                    System.out.println("<---请输入新的学生信息--->");
                    Info update_infoByName=getStudentInfo();
                    if(!(part3.student.Handle.selectStuId(update_infoByName.getStu_id()))||update_name.equals(update_infoByName.getStu_name())){
                        if(part3.student.Handle.updateInfoByName(update_name,update_infoByName)){
                            System.out.println("\n修改成功！！\n");
                        }else{
                            System.out.println("\n修改失败！！\n");
                        }
                    }else{
                        System.out.println("该学号的学生信息已存在！！！	请重新添加！！");
                    }
                }else{
                    System.out.println("\n没有该学号的学生信息！！请重新选择！\n");
                }
                break;
            //删除学生信息(根据学号删除)
            case 4:
                System.out.println("<---你已进入删除学生信息(根据学号删除)界面--->");
                int delete_id=getInputIntInfo("请输入学号");

                if(part3.student.Handle.selectStuId(delete_id)){
                    if(part3.student.Handle.deleteInfoById(delete_id)){
                        System.out.println("\n删除成功！！！\n");
                    }else{
                        System.out.println("\n删除失败！！！\n");
                    }
                }else{
                    System.out.println("\n没有该学号的学生信息！！请重新选择！\n");
                }
                break;
            //删除学生信息(根据姓名删除)
            case 5:
                System.out.println("<---你已进入删除学生信息(根绝姓名删除)界面--->");
                String delete_name=getInputStringInfo("请输入姓名");

                if(part3.student.Handle.selectStuName(delete_name)){
                    if(part3.student.Handle.deleteInfoByName(delete_name)){
                        System.out.println("\n删除成功！！！\n");
                    }else{
                        System.out.println("\n删除失败！！！\n");
                    }
                }else{
                    System.out.println("\n没有该学生的信息！！请重新选择！\n");
                }
                break;
            //查询所有学生信息
            case 6:
                System.out.println("<---你已进入所有学生信息界面--->");
                part3.student.Handle.selectAllInfo();
                break;
            //查询学生信息界面(根据学号查询)
            case 7:
                System.out.println("<---你已进入查询学生信息界面(根据学号查询)--->");
                int select_id=getInputIntInfo("请输入学号");
                if(part3.student.Handle.selectStuId(select_id)){
                    Info id= part3.student.Handle.selectInfoById(select_id);
                    if(id!=null){
                    }
                }else{
                    System.out.println("\n没有该学生信息！！请重新选择！\n");
                }
                break;
            //查询学生信息界面(根据姓名查询)
            case 8:
                System.out.println("<---你已进入查询学生信息界面(根据姓名查询)--->");
                String select_name=getInputStringInfo("请输入姓名");
                if(part3.student.Handle.selectStuName(select_name)){
                    Info name= Handle.selectInfoByName(select_name);
                    if(name!=null){
                    }
                }else{
                    System.out.println("\n没有该学生信息！！请重新选择！\n");
                }
                break;
            //退出系统
            case 9:System.out.println("退出成功！");
                System.exit(0);
                break;
            default:
                System.out.println("没有该选项！！请重新输入！");
                break;
        }
    }
    //给 Info类的学生属性进行赋值
    private Info getStudentInfo(){
        Info info=new Info();
        info.setStu_id(getInputIntInfo("请输入学号"));
        info.setStu_name(getInputStringInfo("请输入姓名"));
        info.setStu_sex(getInputStringInfo("请输入性别"));
        info.setStu_age(getInputIntInfo("请输入年龄"));
        info.setChinese(getInputIntInfo("请输入语文成绩"));
        info.setMath(getInputIntInfo("请输入数学成绩"));
        info.setEnglish(getInputIntInfo("请输入英语成绩"));
        info.setStu_address(getInputStringInfo("请输入地址"));
        info.getAvgScose();
        info.getSunScose();
        return info;

    }


}
